import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
import Editor from '../views/Editor.vue'
import TemplateDetail from '../views/TemplateDetail.vue'
import Index from '../views/Index.vue'
import Login from '../views/Login.vue'
import store from '@/store'
import axios from 'axios'
import { message } from 'ant-design-vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    {
      path: '/',
      name: 'index',
      component: Index,
      children: [
        { path: '', name: 'home', component: Home },
        { path: 'template/:id', name: 'template', component: TemplateDetail }
      ]
    },
    {
      path: '/editor/:id',
      name: 'editor',
      component: Editor,
      meta: { requiredLogin: true, title: '编辑我的设计' }
    },
    {
      path: '/login',
      name: 'login',
      component: Login,
      meta: { redirectAlreadyLogin: true, title: '登录到慕课乐高', disableLoading: true }
    }
  ]
})

router.beforeEach(async (to) => {
  const { user } = store.state
  const { token, isLogin } = user
  const { redirectAlreadyLogin, requiredLogin, title } = to.meta
  if (title) {
    document.title = title as string
  }
  return true;
  // if (!isLogin) {
  //   if (token) {
  //     axios.defaults.headers.common.Authorization = `Bearer ${token}`
  //     try {
  //       await store.dispatch('fetchCurrentUser')
  //       if (redirectAlreadyLogin) {
  //         return '/'
  //       }
  //     } catch {
  //       message.error('登录状态已过期，请重新登录', 2)
  //       store.commit('logout')
  //       return '/login'
  //     }
  //   } else {
  //     if (requiredLogin) {
  //       return '/login'
  //     }
  //   }
  // } else {
  //   if (redirectAlreadyLogin) {
  //     return '/'
  //   }
  // }
})

export default router